package engine.combat;

/**
 * This interface defines the methods an object needs to have to engage in combat.
 * 
 * @author Kyle_Solo
 */
public interface Combatant {
	/**
	 * @return the combatant's base stats, modified by any items and magical effects. Changes to
	 *         this object have no effect on the combatant.
	 */
	public Stats getModifiedStats();

	/**
	 * @return the combatant's base stats object. Changes to this object will directly change the
	 *         combatant's stats.
	 */
	public Stats getStats();

	/**
	 * Examples of things you might want to add:<br>
	 * public Armor getArmor(); //gets the creature's armor data<br>
	 * public Body getBody(); //gets information about the number of arms, legs, heads, etc
	 */
}
